/***********************************************************************************
 * 文件名： cled_ctrl_config.h
 * 版本： 2
 * 说明：
 * 		彩色LED控制器(CLEDC)的配置文件。请确保文件名如上。8bits（最大值255）亮度控制
 * 修改记录：
 * 	2021/04/21: 初版。 刘言。
 *  2021/04/21: 增加彩色渐变功能开关。刘言。
***********************************************************************************/
#ifndef _CLED_CTRL_CONFIG_H_
#define _CLED_CTRL_CONFIG_H_

#include "..\bsp\app_config.h"


// 启动 8BIT MCU 优化，注释掉关闭【未实现】
//#define _CLEDC_8BIT_MCU              

// 启用 彩色渐变，注释掉不启用可以节省代码量
#define _CLEDC_USE_GRA_COLOR


// 设置一些需要引用的外部函数(驱动和组件接口不用再包含头文件)

// 设置RGB的PWM值
#define _CledC_SetValue(r,g,b)  \
{\
    SPwm_SetValue(0,r>>1);\
    SPwm_SetValue(1,g>>1);\
    SPwm_SetValue(2,b>>1);\
}


// 亮度改变的钩子函数，每当更新亮度时会被调用，可用于增加同步单色灯，可以定义为空
#define _CledC_SetBrightnessHook(u8_btns)  HPwm_SetCH1(u8_btns);    // 不需要单色灯定义为空


// CLEDC空闲事件。CLEDC动作为NULL（CLEDC空闲）时调用一次，可以定义为空
#define _CLEDC_EventActNull()       SPwm_Disable()      // 关闭 SPWM 可以降低CPU占用率，不关闭会影响通信。

// CLEDC开始动作事件。CLEDC动作被设置时调用一次，可以加一些动作前的额外准备工作，可以定义为空
#define _CLEDC_EventActSetted()     SPwm_Enable()       

#endif
